#! /usr/bin/env python
# -*- coding: utf-8 -*-

# *************************************************************
#     Filename @  getjpg.py
#       Author @  Huoty
#  Create date @  2015-01-21 13:54:35
#  Description @  
# *************************************************************

import sys
import re
import urllib2

def gethtml(url):
    page = urllib2.urlopen(url) # 打开一个URL地址
    html = page.read() # 读取URL上的数据
    return html

def getimg(html):
    reg = r'src="(.+?\.jpg)" width='
    imgre = re.compile(reg) # 把正则表达式编译成一个正则表达式对象
    imglist = re.findall(imgre, html)  # 匹配正则表达式
    return imglist

    x = 0
    for imgurl in imglist:
        urllib2.urlretrieve(imgurl, "jpg/%s.jpg" % x)
        x += 1

#urllib.urlretrieve(url[, filename[, reporthook[, data]]])
#参数说明：
#url：外部或者本地url
#filename：指定了保存到本地的路径（如果未指定该参数，urllib会生成一个临时文件来保存数据）；
#reporthook：是一个回调函数，当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
#data：指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers)，filename表示保存到本地的路径，header表示服务器的响应头。

# Script starts from here

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "Usage: ./getjpg.py <url>"
        sys.exit(0)

    html = gethtml(sys.argv[1])
    print getimg(html)
